Add a default handler for drag_failed
authorMatthias Clasen <mclasen@redhat.com>
Wed, 22 Dec 2010 23:46:29 +0000 (18:46 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 22 Dec 2010 23:46:29 +0000 (18:46 -0500)
And use it in notebook dnd.

gtk/gtknotebook.c
gtk/gtkwidget.c
gtk/gtkwidget.h

index df0383d78f3137ad94c9fa4838ae5c6aed1f0034..062f337e051bad2be98400e972a73f133af984ff 100644 (file)
@@ -371,8 +371,7 @@ static void gtk_notebook_drag_end            (GtkWidget        *widget,
                                              GdkDragContext   *context);
 static gboolean gtk_notebook_drag_failed     (GtkWidget        *widget,
                                              GdkDragContext   *context,
-                                             GtkDragResult     result,
-                                             gpointer          data);
+                                             GtkDragResult     result);
 static gboolean gtk_notebook_drag_motion     (GtkWidget        *widget,
                                              GdkDragContext   *context,
                                              gint              x,
@@ -665,6 +664,7 @@ gtk_notebook_class_init (GtkNotebookClass *class)
   widget_class->drag_drop = gtk_notebook_drag_drop;
   widget_class->drag_data_get = gtk_notebook_drag_data_get;
   widget_class->drag_data_received = gtk_notebook_drag_data_received;
+  widget_class->drag_failed = gtk_notebook_drag_failed;
   widget_class->compute_expand = gtk_notebook_compute_expand;
 
   container_class->add = gtk_notebook_add;
@@ -1202,9 +1202,6 @@ gtk_notebook_init (GtkNotebook *notebook)
                     notebook_targets, G_N_ELEMENTS (notebook_targets),
                      GDK_ACTION_MOVE);
 
-  g_signal_connect (G_OBJECT (notebook), "drag-failed",
-                   G_CALLBACK (gtk_notebook_drag_failed), NULL);
-
   gtk_drag_dest_set_track_motion (GTK_WIDGET (notebook), TRUE);
 
   context = gtk_widget_get_style_context (GTK_WIDGET (notebook));
@@ -3588,8 +3585,7 @@ gtk_notebook_create_window (GtkNotebook *notebook,
 static gboolean
 gtk_notebook_drag_failed (GtkWidget      *widget,
                          GdkDragContext *context,
-                         GtkDragResult   result,
-                         gpointer        data)
+                         GtkDragResult   result)
 {
   if (result == GTK_DRAG_RESULT_NO_TARGET)
     {
index 87834edea6d18e7e8a2c220eeb58cadef731cc3f..07f360c2feef6996fcb2fba32f7b3503b869ea3a 100644 (file)
@@ -2455,7 +2455,8 @@ gtk_widget_class_init (GtkWidgetClass *klass)
     g_signal_new (I_("drag-failed"),
                  G_TYPE_FROM_CLASS (klass),
                  G_SIGNAL_RUN_LAST,
-                 0, _gtk_boolean_handled_accumulator, NULL,
+                 G_STRUCT_OFFSET (GtkWidgetClass, drag_failed),
+                 _gtk_boolean_handled_accumulator, NULL,
                  _gtk_marshal_BOOLEAN__OBJECT_ENUM,
                  G_TYPE_BOOLEAN, 2,
                  GDK_TYPE_DRAG_CONTEXT,
index 54acc3d8a743c9b86f82c7c78269a64c3d9f0922..a2d4d5bde1f1d9092f5ffe0ae98c138304663ee4 100644 (file)
@@ -375,6 +375,9 @@ struct _GtkWidgetClass
                                    GtkSelectionData   *selection_data,
                                    guint               info,
                                    guint               time_);
+  gboolean (* drag_failed)         (GtkWidget          *widget,
+                                    GdkDragContext     *context,
+                                    GtkDragResult       result);
 
   /* Signals used only for keybindings */
   gboolean (* popup_menu)          (GtkWidget          *widget);